qutebrowser BaseType
具体来说,BaseType
类的实例代表了一个用于设置值的类型,它可以从字符串、Python 对象或其他类型的值中获取值,并将其转换为其他类型的值。
类方法,例如:
__init__
get_name
get_valid_values
_basic_py_validation
_basic_str_validation
_basic_str_validation_cache
_validate_surrogate_escapes
:确保给定值不包含代理转义_validate_valid_values
:验证值是否在可能的值列表中from_str
:从字符串中获取值from_obj
:从 Python 对象中获取值to_py
:将值转换为 Python 对象to_str
:将值转换为字符串to_doc
:将值转换为文档字符串complete
:获取可能的值的列表等等
_basic_str_validation_cache
该函数用了很多装饰器:
@staticmethod
@debugcachestats.register(name='str validation cache')
@functools.lru_cache(maxsize=2 ** 9)
def _basic_str_validation_cache(value: str) -> None:
"""Cache validation result to prevent looping over strings."""
if any(ord(c) < 32 or ord(c) == 0x7f for c in value):
raise ValidationError(
value, "may not contain unprintable chars!")
函数功能:验证字符串是否包含不可打印字符。
参数:
value
:需要验证的字符
装饰器:
functools.lru_cache
:缓存字符串验证结果,以避免重复验证。最多缓存 2^9 个字符串验证结果。debugcachestats
:将该方法注册到debugcachestats
中,以便在调试时查看缓存统计信息。@staticmethod
:将该方法声明为静态方法
本文作者:Maeiee
本文链接:qutebrowser BaseType
版权声明:如无特别声明,本文即为原创文章,版权归 Maeiee 所有,未经允许不得转载!
喜欢我文章的朋友请随缘打赏,鼓励我创作更多更好的作品!